package com.bfly.mall.admin.service;

import com.bfly.core.base.service.IBaseService;
import com.bfly.mall.admin.entity.Menu;
import com.bfly.mall.admin.dto.MenuFormDTO;
import com.bfly.mall.admin.dto.MenuListDTO;

import java.util.List;

/**
 * 系统菜单接口
 *
 * @author 长沙商脉科技有限公司
 * @date 2019/7/12 18:37
 */
public interface IMenuService extends IBaseService<Menu, Integer> {

    /**
     * 新增菜单
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/10/15 12:23
     */
    void save(MenuFormDTO formDTO);

    /**
     * 编辑菜单
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/10/15 12:23
     */
    void edit(MenuFormDTO formDTO);

    /**
     * 查找管理员的权限信息
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/10/16 11:04
     */
    List<MenuListDTO> getFunctionMenuByAdmin(int adminId);

    /**
     * 查找角色分配的菜单权限
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/10/16 11:12
     */
    List<MenuListDTO> getFunctionMenuByRole(int roleId);

    /**
     * 获得所有的功能菜单
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/10/16 13:44
     */
    List<MenuListDTO> getFunctionMenu();
}
